package com.wxg.common.feign.remote;


import com.wxg.common.core.dao.mysql.global.Dict;
import com.wxg.common.core.dto.Address;
import com.wxg.common.core.dto.PersonDTO;
import com.wxg.common.feign.remote.impl.DictRemoteFallback;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.context.annotation.Primary;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;

/**
 * @author void
 * @date 2019/6/11 11:43
 * @desc
 */
@Primary
@FeignClient(name = "global-service", fallback = DictRemoteFallback.class)
public interface DictRemote {

    @GetMapping("/rpc/dict/query")
    Dict query(@RequestParam(value = "name") String name);

    @GetMapping("/rpc/dict/query")
    Dict query1(@RequestParam(value = "name") String name);

    @GetMapping("/fastjson/test/validDefaultValue")
    Address validDefaultValue();

    @GetMapping("/rpc/booleanTest1")
    Boolean booleanTest1();

    @GetMapping("/rpc/booleanTest2")
    boolean booleanTest2();
    
    @GetMapping("/rpc/test/construction")
    PersonDTO testConstruction();
}
